home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light ROM 1
/
LIGHT-ROM 1 (Amiga Library Services)(1994).iso
/
ffdisks
/
d970.lha
/
ADM
/
ARexx
/
WriteMail.adm
< prev
Wrap
Text File
|
1993-10-20
|
6KB
|
191 lines
/* $VER: WriteMail.adm 1.1 (20.9.93)
Schreiben einer Mail an die akt. ADM-Adresse.
Zum Benutzen dieses Scripts muß der Editor unten definiert werden.
Hier werden das MessageSystem UMS sowie Befehle von "Stuntzis
UMS Tools" verwendet. Z-Netz-Mails werden bei diesem Script
via UUCP-Gate exportiert.
Für eine Erklärung der von diesem Script erkannten EMail-Formate
siehe Script "SendMails.rexx".
Das Script benötigt die RexxReqTools.library!
HISTORY:
V1.0 [jan] Erstes Release
V1.1 [jan] Abfrage nun mit der RexxReqTools.library
per Requester
*/
/*----------------------------------------------------------------------
DEFINITIONEN
----------------------------------------------------------------------*/
editor = "C:TTX >NIL: wait" /* Darf sich nicht vom CLI "ablösen"*/
/* = detach */
sig1 = "Jan" /* Unterschrift */
sig2 = " " /* Signature */
sig3 = "2:2407/106.5@Fidonet, jan@digit.stgt.sub.org"
/*----------------------------------------------------------------------
HAUPTPROGRAMM: Adresse auslesen, Mail schreiben & schicken
----------------------------------------------------------------------*/
OPTIONS RESULTS
call addlib("rexxreqtools.library", 0, -30, 0)
GETADDRESS ADM /* Hole Adresse */
IF ADM.EMail2 ~= "" THEN DO /* Wenn EMail2 angegeben */
SAY("1." ADM.EMAIL1)
SAY("2." ADM.EMAIL2)
SAY("Welche EMail-Adresse?") /* Wählen, welche ... */
PULL num
IF num=1 THEN txt = ADM.EMAIL1
ELSE txt = ADM.EMAIL2
END
ELSE DO
IF ADM.EMail1 = "" THEN DO /* Wenn auch nicht EMail1 */
SAY("Keine EMail-Adresse vorhanden!") /* Fehler! */
EXIT
END
ELSE txt = ADM.EMAIL1 /* Sonst EMAIL1 nehmen */
END
CALL SendMail
EXIT /* Ende */
/*----------------------------------------------------------------------
UNTERPROGRAMM: EMail schreiben
----------------------------------------------------------------------*/
SendMail:
msg = FALSE
IF txt ~= "" THEN DO /* Wenn überhaupt EMail-Text vorhanden */
pos = POS("=",txt) /* Wenn mit ZER=, FIDO= oder UUCP= ein- */
/* getragen... */
IF pos > 0 THEN DO /* ... Netz herausfinden und von Adresse */
net = STRIP(SUBSTR(txt,1,pos-1)) /* trennen */
adr = STRIP(SUBSTR(txt,pos+1,LENGTH(txt)-pos))
END
ELSE DO /* andernfalls: Herausfinden, welches Netz */
adr = ""
pos = POS("@Fidonet",txt) /* Endung "@Fidonet"? */
IF pos>0 THEN DO
net = "FIDO"
adr = STRIP(txt)
END
pos = POS(".ZER",txt) /* Endung ".ZER"? */
IF pos=LENGTH(txt)-3 THEN DO
net = "ZER"
adr = STRIP(txt)
END
IF adr="" THEN DO /* Ansonsten UUCP */
net = "UUCP"
adr = STRIP(txt)
END
END
IF net="FIDO" THEN DO /* FIDO: Realname vorhanden? */
pos = POS(":",adr)
/* wenn nicht -> aus ADM-Adresse */
IF pos < 3 THEN DO
name = ADM.firstName ADM.lastName
IF POS("@Fidonet",adr) < 1 THEN adr = adr || "@Fidonet"
END
ELSE DO /* Sonst Namen herausschneiden */
pos = POS("@",adr)
name = STRIP(SUBSTR(adr,1,pos-1))
adr = STRIP(SUBSTR(adr,pos+1,LENGTH(txt)-pos-1)) || "@Fidonet"
END
SAY "FIDONET: " name "--" adr
msg = TRUE
END
IF net="ZER" THEN DO /* ZERBERUS: */
pos = POS("@",adr)
name = STRIP(SUBSTR(adr,1,pos-1)) /* NAME/ALIAS heraustrennen */
adr = adr || ".sub.org" /* .sub.org anhängen */
/* für UUCP-Gate */
SAY "ZERBERUS:" name "--" adr
msg = TRUE
END
IF net="UUCP" THEN DO /* UUCP= angegeben? */
name = STRIP(ADM.firstName ADM.lastName)
SAY "USENET: " name "--" adr
msg = TRUE
END
IF msg = FALSE THEN DO /* Ansonsten: Nachricht ist UUCP */
name = STRIP(ADM.firstName ADM.lastName)
/* adr = adr */
END
/* Message-Erzeugung:
Das Script erstellt eine temporäre Datei, in der der Messagetext
und für "sumswrite" nötige Schlüsselwörter enthalten sind.
Diese wird dann ed(it)iert.
Danach wird - nach einer Sicherheitsabfrage - "sumswrite" gestartet.
*/
IF ~OPEN(datei,"ram:admtmpmsg","W") THEN DO /* Ausgabedatei öffnen */
SAY "Kann Ausgabedatei nicht öffnen!"
EXIT
END
ok = WRITELN(datei,"ToName" name)
ok = WRITELN(datei,"ToPath" adr)
ok = WRITELN(datei,"Subject")
ok = WRITELN(datei,"Group NetMail")
ok = WRITELN(datei,"Organization ADM-Mail")
ok = WRITELN(datei,"Attributes")
ok = WRITELN(datei,"-------------------------------------------------------------")
ok = WRITELN(datei,"Hallo" ADM.firstname || "!")
ok = WRITELN(datei," ")
ok = WRITELN(datei,"Bye,")
ok = WRITELN(datei,sig1)
ok = WRITELN(datei,sig2)
ok = WRITELN(datei,sig3)
ok = CLOSE(datei) /* Datei schließen */
cmd = editor "ram:admtmpmsg"
ADDRESS COMMAND cmd
ans = rtezrequest("Nachricht senden?","_Senden|Abbru_ch","ADM-Rexxscript",,"rtez_defaultresponse=1")
IF ans ~= 0 THEN DO
cmd = "sumswrite jan jg <ram:admtmpmsg" /* SUMSWRITE starten */
ADDRESS COMMAND cmd
END
ELSE ans = rtezrequest("Nachricht nicht gesendet.","_OK","ADM-Rexxscript",,)
END
RETURN